;Assembler header file for NetFS
;written by DefMod (Dec 31 2005) on Sat Dec 31 14:01:38 2005
;Jonathan Coxhead, jonathan@doves.demon.co.uk, 29 June 1995

        [       :LNOT: :DEF: NetFS_Hdr
        GBLS    NetFS_Hdr

        [       :LNOT: :DEF: Get_Types
        GBLS    Get_Types
        ]
        [       :LNOT: :DEF: Types_Hdr
Get_Types                       SETS    "GET oslib/Types.Hdr"
        |
Get_Types                       SETS    ""
        ]
        $Get_Types

        [       :LNOT: :DEF: Get_OS
        GBLS    Get_OS
        ]
        [       :LNOT: :DEF: OS_Hdr
Get_OS                          SETS    "GET oslib/OS.Hdr"
        |
Get_OS                          SETS    ""
        ]
        $Get_OS

        [       :LNOT: :DEF: Get_FileSwitch
        GBLS    Get_FileSwitch
        ]
        [       :LNOT: :DEF: FileSwitch_Hdr
Get_FileSwitch                  SETS    "GET oslib/FileSwitch.Hdr"
        |
Get_FileSwitch                  SETS    ""
        ]
        $Get_FileSwitch

;Symbols for constants
NetFS_LeafNameLimit             *       10
NetFS_DiscNameLimit             *       16
NetFS_UserNameLimit             *       22
NetFS_PasswordLimit             *       23
NetFS_FileNameLimit             *       256
NetFS_CLILimit                  *       256
Error_NetFSBadName              *       &10500
Error_NetFSBadCommandCode       *       &10501
Error_NetFSUnexpectedCommandCode *       &10502
Error_NetFSUnknownFunctionCode  *       &10503
Error_NetFSUnknownStationName   *       &10504
Error_NetFSUnknownStationNumber *       &10505
Error_NetFSStationNotFound      *       &10506
Error_NetFSFileServerNameTooLong *       &10507
Error_NetFSBadFileServerDate    *       &10508
Error_NetFSNetFSInternalError   *       &10509
Error_NetFSFileServerNotCapable *       &1050A
Error_NetFSBroadcastServerDead  *       &1050B
Error_NetFSFileServerOnly24Bit  *       &1050C
Error_NetUtilsWrongVersion      *       &1053A
Error_NetUtilsNetFSNoGo         *       &1053B
Error_NetUtilsIsThreaded        *       &1053C
Error_NetFSSetFreeSyntax        *       &10540
Error_NetFSFsCLISyntax          *       &10541
NetFS_FSOpCLI                   *       &0
NetFS_FSOpSave                  *       &1
NetFS_FSOpLoad                  *       &2
NetFS_FSOpEx                    *       &0
NetFS_FSOpCat                   *       &4
NetFS_FSOpLoadAs                *       &5
NetFS_FSOpOpen                  *       &6
NetFS_FSOpClose                 *       &7
NetFS_FSOpBGet                  *       &8
NetFS_FSOpBPut                  *       &9
NetFS_FSOpGBPBRead              *       &A
NetFS_FSOpGBPBWrite             *       &B
NetFS_FSOpReadArgs              *       &C
NetFS_FSOpSetArgs               *       &D
NetFS_FSOpReadDiscInfo          *       &E
NetFS_FSOpReadLogonInfo         *       &F
NetFS_FSOpReadDateAndTime       *       &10
NetFS_FSOpReadEOFStatus         *       &11
NetFS_FSOpReadObject            *       &12
NetFS_FSOpSetObject             *       &13
NetFS_FSOpDeleteObject          *       &14
NetFS_FSOpReadEnv               *       &15
NetFS_FSOpOpt                   *       &16
NetFS_FSOpLogoff                *       &17
NetFS_FSOpReadUserInfo          *       &18
NetFS_FSOpReadVersion           *       &19
NetFS_FSOpReadFree              *       &1A
NetFS_FSOpCreateDir             *       &1B
NetFS_FSOpSetDateAndTime        *       &1C
NetFS_FSOpCreate                *       &1D
NetFS_FSOpReadUserFree          *       &1E
NetFS_FSOpSetUserFree           *       &1F
NetFS_FSOpReadUserName          *       &20
NetFS_FSOpReadLogonInfoExtended *       &21
NetFS_FSOpReadUserInfoExtended  *       &22
NetFS_FSOpManagerOp             *       &24
NetFS_FSOpCLIComplete           *       0
NetFS_FSOpCLIInfo               *       4
NetFS_FSOpCLIIAm                *       5
NetFS_FSOpCLISDisc              *       6
NetFS_FSOpCLIDir                *       7
NetFS_FSOpCLIUnknown            *       8
NetFS_FSOpCLILib                *       9
NetFS_FSOpCLIDiscInfo           *       10
NetFS_FSOpCLIUserInfo           *       11
NetFS_FSOpExText                *       &1
NetFS_FSOpExTitle               *       &2
NetFS_FSOpExTitleText           *       &3
NetFS_FSOpArgsPtr               *       &0
NetFS_FSOpArgsExt               *       &1
NetFS_FSOpArgsSize              *       &2
NetFS_FSOpReadObjectStamp       *       &1
NetFS_FSOpReadObjectLoadAndExecAddr *       &2
NetFS_FSOpReadObjectSize        *       &3
NetFS_FSOpReadObjectAttr        *       &4
NetFS_FSOpReadObjectAllInfo     *       &5
NetFS_FSOpReadObjectAttrAndCycleNo *       &6
NetFS_FSOpReadObjectSIN         *       &7
NetFS_FSOpSetObjectLoadExecAndAttr *       &1
NetFS_FSOpSetObjectLoadAddr     *       &2
NetFS_FSOpSetObjectExecAddr     *       &3
NetFS_FSOpSetObjectAttr         *       &4
NetFS_FSOpSetObjectStamp        *       &5
NetFS_FSOpManagerOpReadPasswordCount *       &0
NetFS_FSOpManagerOpReadPassword *       &1
NetFS_FSOpManagerOpWritePassword *       &2
NetFS_FSOpManagerOpAddUser      *       &3
NetFS_FSOpManagerOpRemoveUser   *       &4
NetFS_FSOpManagerOpSetPrivilege *       &5
NetFS_FSOpManagerOpLogoffUser   *       &6
NetFS_FSOpManagerOpShutdown     *       &7
NetFS_NoMore                    *       -1

;Symbols for structure offsets and sizes
                                ^       0
                                #       Byte
NetFS_FSOp                      *       @

                                ^       0
                                #       Byte
NetFS_FSOpExType                *       @

                                ^       0
                                #       Byte
NetFS_FSOpArgsType              *       @

                                ^       0
                                #       Byte
NetFS_FSOpReadObjectType        *       @

                                ^       0
                                #       Byte
NetFS_FSOpSetObjectType         *       @

                                ^       0
                                #       Byte
NetFS_FSOpManagerOpType         *       @

                                ^       0
NetFS_CLIRequest_command        #       256*Char
NetFS_CLIRequest                *       @

                                ^       0
NetFS_SaveRequest_load_addr     #       Bits
NetFS_SaveRequest_exec_addr     #       Bits
NetFS_SaveRequest_size          #       3*Byte
NetFS_SaveRequest_file_name     #       256*Char
NetFS_SaveRequest               *       @

                                ^       0
NetFS_SaveReply_port            #       Byte
NetFS_SaveReply_block_limit     #       2*Byte
NetFS_SaveReply_leaf_name       #       10*Char
NetFS_SaveReply                 *       @

                                ^       0
NetFS_SaveFinalReply_attr       #       Byte
NetFS_SaveFinalReply_date       #       2*Byte
NetFS_SaveFinalReply            *       @

                                ^       0
NetFS_LoadRequest_file_name     #       256*Char
NetFS_LoadRequest               *       @

                                ^       0
NetFS_LoadReply_load_addr       #       Bits
NetFS_LoadReply_exec_addr       #       Bits
NetFS_LoadReply_size            #       3*Byte
NetFS_LoadReply_attr            #       Byte
NetFS_LoadReply_date            #       2*Byte
NetFS_LoadReply_file_name       #       256*Char
NetFS_LoadReply                 *       @

                                ^       0
NetFS_ExRequest_ex_type         #       NetFS_FSOpExType
NetFS_ExRequest_entry           #       Byte
NetFS_ExRequest_count           #       Byte
NetFS_ExRequest_dir_name        #       256*Char
NetFS_ExRequest                 *       @

                                ^       0
NetFS_CatRequest_dir_name       #       256*Char
NetFS_CatRequest                *       @

                                ^       0
NetFS_CatReply_leaf_name        #       10*Char
NetFS_CatReply_reserved1        #       Char
NetFS_CatReply_owner            #       Char
NetFS_CatReply_reserved2        #       3*Byte
NetFS_CatReply_disc_name        #       16*Char
NetFS_CatReply                  *       @

                                ^       0
NetFS_OpenRequest_error_if_absent #       Byte
NetFS_OpenRequest_read_only     #       Byte
NetFS_OpenRequest_file_name     #       256*Char
NetFS_OpenRequest               *       @

                                ^       0
NetFS_OpenReply_handle          #       Byte
NetFS_OpenReply_leaf_name       #       10*Char
NetFS_OpenReply                 *       @

                                ^       0
NetFS_CloseRequest_handle       #       Byte
NetFS_CloseRequest              *       @

                                ^       0
NetFS_BGetRequest_handle        #       Byte
NetFS_BGetRequest               *       @

                                ^       0
NetFS_BGetReply_b               #       Byte
NetFS_BGetReply_terminator      #       Byte
NetFS_BGetReply                 *       @

                                ^       0
NetFS_BPutRequest_handle        #       Byte
NetFS_BPutRequest_b             #       Byte
NetFS_BPutRequest               *       @

                                ^       0
NetFS_GBPBRequest_handle        #       Byte
NetFS_GBPBRequest_read_next     #       Byte
NetFS_GBPBRequest_size          #       3*Byte
NetFS_GBPBRequest_ptr           #       3*Byte
NetFS_GBPBRequest               *       @

                                ^       0
NetFS_GBPBReply_final_block     #       Byte
NetFS_GBPBReply_size            #       3*Byte
NetFS_GBPBReply                 *       @

                                ^       0
NetFS_ReadArgsRequest_args_type #       NetFS_FSOpArgsType
NetFS_ReadArgsRequest           *       @

                                ^       0
NetFS_ReadArgsReply_arg         #       3*Byte
NetFS_ReadArgsReply             *       @

                                ^       0
NetFS_SetArgsRequest_args_type  #       NetFS_FSOpArgsType
NetFS_SetArgsRequest_arg        #       3*Byte
NetFS_SetArgsRequest            *       @

                                ^       0
NetFS_ReadDiscInfoRequest_first #       Byte
NetFS_ReadDiscInfoRequest_count #       Byte
NetFS_ReadDiscInfoRequest       *       @

                                ^       0
NetFS_DiscInfo_phys_no          #       Byte
NetFS_DiscInfo_disc_name        #       16*Char
NetFS_DiscInfo                  *       @

                                ^       0
NetFS_ReadDiscInfoReply_count   #       Byte
NetFS_ReadDiscInfoReply_info    #       NetFS_DiscInfo
NetFS_ReadDiscInfoReply         *       @
        
        MACRO
$label                          NetFS_ReadDiscInfoReply_MEMBERS
$label._count                   #       Byte
        MEND
        
                                ^       0
NetFS_ReadDiscInfoReplyBase     NetFS_ReadDiscInfoReply_MEMBERS
NetFS_ReadDiscInfoReplyBase     *       @

                                ^       0
NetFS_ReadLogonInfoRequest_first #       Byte
NetFS_ReadLogonInfoRequest_count #       Byte
NetFS_ReadLogonInfoRequest      *       @

                                ^       0
NetFS_LogonInfo_station         #       Byte
NetFS_LogonInfo_net             #       Byte
NetFS_LogonInfo_user_name       #       22*Byte
NetFS_LogonInfo_privilege       #       Byte
NetFS_LogonInfo                 *       @

                                ^       0
NetFS_ReadLogonInfoReply_count  #       Byte
NetFS_ReadLogonInfoReply_info   #       NetFS_LogonInfo
NetFS_ReadLogonInfoReply        *       @
        
        MACRO
$label                          NetFS_ReadLogonInfoReply_MEMBERS
$label._count                   #       Byte
        MEND
        
                                ^       0
NetFS_ReadLogonInfoReplyBase    NetFS_ReadLogonInfoReply_MEMBERS
NetFS_ReadLogonInfoReplyBase    *       @

                                ^       0
NetFS_ReadDateAndTimeReply_date #       2*Byte
NetFS_ReadDateAndTimeReply_hr   #       Byte
NetFS_ReadDateAndTimeReply_min  #       Byte
NetFS_ReadDateAndTimeReply_s    #       Byte
NetFS_ReadDateAndTimeReply      *       @

                                ^       0
NetFS_ReadEOFStatusRequest_handle #       Byte
NetFS_ReadEOFStatusRequest      *       @

                                ^       0
NetFS_ReadEOFStatusReply_eof_status #       Byte
NetFS_ReadEOFStatusReply        *       @

                                ^       0
NetFS_ReadObjectRequest_read_type #       NetFS_FSOpReadObjectType
NetFS_ReadObjectRequest_file_name #       256*Char
NetFS_ReadObjectRequest         *       @

                                ^       0
NetFS_DeleteObjectRequest_file_name #       256*Char
NetFS_DeleteObjectRequest       *       @

                                ^       0
NetFS_DeleteObjectReply_load_addr #       Bits
NetFS_DeleteObjectReply_exec_addr #       Bits
NetFS_DeleteObjectReply_size    #       3*Byte
NetFS_DeleteObjectReply_attr    #       Byte
NetFS_DeleteObjectReply         *       @

                                ^       0
NetFS_ReadEnvReply_len          #       Byte
NetFS_ReadEnvReply_disc_name    #       16*Char
NetFS_ReadEnvReply_csd_name     #       10*Char
NetFS_ReadEnvReply_lib_name     #       10*Char
NetFS_ReadEnvReply              *       @

                                ^       0
NetFS_OptRequest_opt            #       Byte
NetFS_OptRequest                *       @

                                ^       0
NetFS_ReadUserInfoRequest_user_name #       22*Char
NetFS_ReadUserInfoRequest       *       @

                                ^       0
NetFS_ReadUserInfoReply_privilege #       Byte
NetFS_ReadUserInfoReply_station #       Byte
NetFS_ReadUserInfoReply_net     #       Byte
NetFS_ReadUserInfoReply         *       @

                                ^       0
NetFS_ReadVersionReply_type     #       10*Char
NetFS_ReadVersionReply_version  #       4*Char
NetFS_ReadVersionReply          *       @

                                ^       0
NetFS_ReadFreeRequest_disc_name #       16*Char
NetFS_ReadFreeRequest           *       @

                                ^       0
NetFS_ReadFreeReply_free_sector_count #       3*Byte
NetFS_ReadFreeReply_sector_count #       3*Byte
NetFS_ReadFreeReply             *       @

                                ^       0
NetFS_CreateDirRequest_sector_count #       Byte
NetFS_CreateDirRequest_dir_name #       256*Char
NetFS_CreateDirRequest          *       @

                                ^       0
NetFS_SetDateAndTimeRequest_date #       2*Byte
NetFS_SetDateAndTimeRequest_hr  #       Byte
NetFS_SetDateAndTimeRequest_min #       Byte
NetFS_SetDateAndTimeRequest_s   #       Byte
NetFS_SetDateAndTimeRequest     *       @

                                ^       0
NetFS_CreateRequest_load_addr   #       Bits
NetFS_CreateRequest_exec_addr   #       Bits
NetFS_CreateRequest_size        #       3*Byte
NetFS_CreateRequest_file_name   #       256*Char
NetFS_CreateRequest             *       @

                                ^       0
NetFS_CreateReply_attr          #       Byte
NetFS_CreateReply_date          #       2*Byte
NetFS_CreateReply               *       @

                                ^       0
NetFS_ReadUserFreeRequest_user_name #       22*Char
NetFS_ReadUserFreeRequest       *       @

                                ^       0
NetFS_ReadUserFreeReply_user_free #       3*Byte
NetFS_ReadUserFreeReply         *       @

                                ^       0
NetFS_SetUserFreeRequest_user_free #       3*Byte
NetFS_SetUserFreeRequest_user_name #       22*Char
NetFS_SetUserFreeRequest        *       @

                                ^       0
NetFS_ReadUserNameReply_user_name #       22*Char
NetFS_ReadUserNameReply         *       @

                                ^       0
NetFS_LogonInfoExtended_station #       Byte
NetFS_LogonInfoExtended_net     #       Byte
NetFS_LogonInfoExtended_task    #       Byte
NetFS_LogonInfoExtended_user_name #       22*Byte
NetFS_LogonInfoExtended_privilege #       Byte
NetFS_LogonInfoExtended         *       @

                                ^       0
NetFS_ReadLogonInfoExtendedRequest_first #       Byte
NetFS_ReadLogonInfoExtendedRequest_count #       Byte
NetFS_ReadLogonInfoExtendedRequest *       @

                                ^       0
NetFS_ReadLogonInfoExtendedReply_count #       Byte
NetFS_ReadLogonInfoExtendedReply_info #       NetFS_LogonInfoExtended
NetFS_ReadLogonInfoExtendedReply *       @
        
        MACRO
$label                          NetFS_ReadLogonInfoExtendedReply_MEMBERS
$label._count                   #       Byte
        MEND
        
                                ^       0
NetFS_ReadLogonInfoExtendedReplyBase NetFS_ReadLogonInfoExtendedReply_MEMBERS
NetFS_ReadLogonInfoExtendedReplyBase *       @

                                ^       0
NetFS_ReadUserInfoExtendedRequest_user_name #       Char
NetFS_ReadUserInfoExtendedRequest *       @

                                ^       0
NetFS_ReadUserInfoExtendedReply_privilege #       Byte
NetFS_ReadUserInfoExtendedReply_station #       Byte
NetFS_ReadUserInfoExtendedReply_net #       Byte
NetFS_ReadUserInfoExtendedReply_task #       Byte
NetFS_ReadUserInfoExtendedReply *       @

                                ^       0
NetFS_CLIInfoReply_file_name    #       10*Char
NetFS_CLIInfoReply_reserved1    #       Char
NetFS_CLIInfoReply_load_addr    #       9*Char
NetFS_CLIInfoReply_exec_addr    #       9*Char
NetFS_CLIInfoReply_reserved2    #       2*Char
NetFS_CLIInfoReply_length       #       7*Char
NetFS_CLIInfoReply_reserved3    #       2*Char
NetFS_CLIInfoReply_access       #       7*Char
NetFS_CLIInfoReply_reserved4    #       4*Char
NetFS_CLIInfoReply_date         #       9*Char
NetFS_CLIInfoReply_sin          #       6*Char
NetFS_CLIInfoReply_terminator   #       Byte
NetFS_CLIInfoReply              *       @

                                ^       0
NetFS_CLIIAmReply_urd           #       Byte
NetFS_CLIIAmReply_csd           #       Byte
NetFS_CLIIAmReply_lib           #       Byte
NetFS_CLIIAmReply_opt           #       Byte
NetFS_CLIIAmReply               *       @

                                ^       0
NetFS_CLISDiscReply_urd         #       Byte
NetFS_CLISDiscReply_csd         #       Byte
NetFS_CLISDiscReply_lib         #       Byte
NetFS_CLISDiscReply             *       @

                                ^       0
NetFS_CLIDirReply_csd           #       Byte
NetFS_CLIDirReply               *       @

                                ^       0
NetFS_CLIUnknownReply_command   #       256*Char
NetFS_CLIUnknownReply           *       @

                                ^       0
NetFS_CLILibReply_lib           #       Byte
NetFS_CLILibReply               *       @

                                ^       0
NetFS_ExReply_ex_count          #       Byte
NetFS_ExReply_dir_count         #       Byte
NetFS_ExReply_name              #       10*Char
NetFS_ExReply_load_addr         #       Bits
NetFS_ExReply_exec_addr         #       Bits
NetFS_ExReply_attr              #       Byte
NetFS_ExReply_date              #       2*Byte
NetFS_ExReply_sin               #       3*Byte
NetFS_ExReply_size              #       3*Byte
NetFS_ExReply                   *       @

                                ^       0
NetFS_ExTextReply_ex_count      #       Byte
NetFS_ExTextReply_dir_count     #       Byte
NetFS_ExTextReply_text          #       1*Char
NetFS_ExTextReply               *       @

                                ^       0
NetFS_ExTitleReply_ex_count     #       Byte
NetFS_ExTitleReply_dir_count    #       Byte
NetFS_ExTitleReply_len          #       Byte
NetFS_ExTitleReply_name         #       10*Char
NetFS_ExTitleReply              *       @

                                ^       0
NetFS_ExTitleTextReply_ex_count #       Byte
NetFS_ExTitleTextReply_dir_count #       Byte
NetFS_ExTitleTextReply_text     #       1*Char
NetFS_ExTitleTextReply          *       @

                                ^       0
NetFS_ReadObjectStampReply_date #       2*Byte
NetFS_ReadObjectStampReply      *       @

                                ^       0
NetFS_ReadObjectLoadAndExecAddrReply_load_addr #       Bits
NetFS_ReadObjectLoadAndExecAddrReply_exec_addr #       Bits
NetFS_ReadObjectLoadAndExecAddrReply *       @

                                ^       0
NetFS_ReadObjectSizeReply_size  #       3*Byte
NetFS_ReadObjectSizeReply       *       @

                                ^       0
NetFS_ReadObjectAttrReply_attr  #       Byte
NetFS_ReadObjectAttrReply       *       @

                                ^       0
NetFS_ReadObjectAllInfoReply_load_addr #       Bits
NetFS_ReadObjectAllInfoReply_exec_addr #       Bits
NetFS_ReadObjectAllInfoReply_size #       3*Byte
NetFS_ReadObjectAllInfoReply_attr #       Byte
NetFS_ReadObjectAllInfoReply_date #       2*Byte
NetFS_ReadObjectAllInfoReply_access #       2*Byte
NetFS_ReadObjectAllInfoReply    *       @

                                ^       0
NetFS_ReadObjectAttrAndCycleNoReply_reserved #       2*Byte
NetFS_ReadObjectAttrAndCycleNoReply_len #       Byte
NetFS_ReadObjectAttrAndCycleNoReply_dir_name #       10*Byte
NetFS_ReadObjectAttrAndCycleNoReply_access #       Byte
NetFS_ReadObjectAttrAndCycleNoReply_count #       Byte
NetFS_ReadObjectAttrAndCycleNoReply *       @

                                ^       0
NetFS_ReadObjectSINReply_obj_type #       Byte
NetFS_ReadObjectSINReply_sin    #       6*Byte
NetFS_ReadObjectSINReply        *       @

                                ^       0
NetFS_SetObjectLoadExecAndAttrRequest_set_type #       NetFS_FSOpSetObjectType
NetFS_SetObjectLoadExecAndAttrRequest_load_addr #       Bits
NetFS_SetObjectLoadExecAndAttrRequest_exec_addr #       Bits
NetFS_SetObjectLoadExecAndAttrRequest_attr #       Byte
NetFS_SetObjectLoadExecAndAttrRequest *       @

                                ^       0
NetFS_SetObjectLoadAddrRequest_set_type #       NetFS_FSOpSetObjectType
NetFS_SetObjectLoadAddrRequest_load_addr #       Bits
NetFS_SetObjectLoadAddrRequest  *       @

                                ^       0
NetFS_SetObjectExecAddrRequest_set_type #       NetFS_FSOpSetObjectType
NetFS_SetObjectExecAddrRequest_exec_addr #       Bits
NetFS_SetObjectExecAddrRequest  *       @

                                ^       0
NetFS_SetObjectAttrRequest_set_type #       NetFS_FSOpSetObjectType
NetFS_SetObjectAttrRequest_attr #       Byte
NetFS_SetObjectAttrRequest      *       @

                                ^       0
NetFS_SetObjectStampRequest_set_type #       NetFS_FSOpSetObjectType
NetFS_SetObjectStampRequest_date #       2*Byte
NetFS_SetObjectStampRequest     *       @

                                ^       0
NetFS_ManagerOpReadPasswordCountRequest_req_no #       NetFS_FSOpManagerOpType
NetFS_ManagerOpReadPasswordCountRequest *       @

                                ^       0
NetFS_ManagerOpReadPasswordCountReply_user_count #       Int
NetFS_ManagerOpReadPasswordCountReply *       @

                                ^       0
NetFS_ManagerOpReadPasswordRequest_req_no #       NetFS_FSOpManagerOpType
NetFS_ManagerOpReadPasswordRequest_user_no #       2*Byte
NetFS_ManagerOpReadPasswordRequest *       @

                                ^       0
NetFS_ManagerOpReadPasswordReply_index #       Int
NetFS_ManagerOpReadPasswordReply_privilege #       Byte
NetFS_ManagerOpReadPasswordReply_opt #       Byte
NetFS_ManagerOpReadPasswordReply_reserved #       4*Char
NetFS_ManagerOpReadPasswordReply_station #       Byte
NetFS_ManagerOpReadPasswordReply_net #       Byte
NetFS_ManagerOpReadPasswordReply_logon_permitted #       Byte
NetFS_ManagerOpReadPasswordReply_user_name #       22*Char
NetFS_ManagerOpReadPasswordReply_password #       23*Char
NetFS_ManagerOpReadPasswordReply_urd_name #       10*Char
NetFS_ManagerOpReadPasswordReply *       @

                                ^       0
NetFS_ManagerOpWritePasswordRequest_req_no #       NetFS_FSOpManagerOpType
NetFS_ManagerOpWritePasswordRequest_reserved1 #       4*Char
NetFS_ManagerOpWritePasswordRequest_privilege #       Byte
NetFS_ManagerOpWritePasswordRequest_opt #       Byte
NetFS_ManagerOpWritePasswordRequest_reserved2 #       6*Byte
NetFS_ManagerOpWritePasswordRequest_logon_permitted #       Byte
NetFS_ManagerOpWritePasswordRequest_user_name #       22*Char
NetFS_ManagerOpWritePasswordRequest_password #       23*Char
NetFS_ManagerOpWritePasswordRequest_urd_name #       10*Char
NetFS_ManagerOpWritePasswordRequest *       @

                                ^       0
NetFS_ManagerOpAddUserRequest_req_no #       NetFS_FSOpManagerOpType
NetFS_ManagerOpAddUserRequest_user_name #       22*Char
NetFS_ManagerOpAddUserRequest   *       @

                                ^       0
NetFS_ManagerOpRemoveUserRequest_req_no #       NetFS_FSOpManagerOpType
NetFS_ManagerOpRemoveUserRequest_user_name #       22*Char
NetFS_ManagerOpRemoveUserRequest *       @

                                ^       0
NetFS_ManagerOpSetPrivilegeRequest_req_no #       NetFS_FSOpManagerOpType
NetFS_ManagerOpSetPrivilegeRequest_user_name #       22*Char
NetFS_ManagerOpSetPrivilegeRequest_privilege #       Byte
NetFS_ManagerOpSetPrivilegeRequest *       @

                                ^       0
NetFS_ManagerOpLogoffUserRequest_req_no #       NetFS_FSOpManagerOpType
NetFS_ManagerOpLogoffUserRequest_user_name #       22*Char
NetFS_ManagerOpLogoffUserRequest *       @

                                ^       0
NetFS_CLI_request               #       NetFS_CLIRequest
                                ^       0
NetFS_CLI_info_reply            #       NetFS_CLIInfoReply
                                ^       0
NetFS_CLI_i_am_reply            #       NetFS_CLIIAmReply
                                ^       0
NetFS_CLI_s_disc_reply          #       NetFS_CLISDiscReply
                                ^       0
NetFS_CLI_dir_reply             #       NetFS_CLIDirReply
                                ^       0
NetFS_CLI_unknown_reply         #       NetFS_CLIUnknownReply
                                ^       0
NetFS_CLI_lib_reply             #       NetFS_CLILibReply
NetFS_CLI                       *       @

                                ^       0
NetFS_Save_request              #       NetFS_SaveRequest
                                ^       0
NetFS_Save_reply                #       NetFS_SaveReply
                                ^       0
NetFS_Save_final_reply          #       NetFS_SaveFinalReply
NetFS_Save                      *       @

                                ^       0
NetFS_Load_request              #       NetFS_LoadRequest
                                ^       0
NetFS_Load_reply                #       NetFS_LoadReply
NetFS_Load                      *       @

                                ^       0
NetFS_Ex_request                #       NetFS_ExRequest
                                ^       0
NetFS_Ex_reply                  #       NetFS_ExReply
                                ^       0
NetFS_Ex_text_reply             #       NetFS_ExTextReply
                                ^       0
NetFS_Ex_title_reply            #       NetFS_ExTitleReply
                                ^       0
NetFS_Ex_title_text_reply       #       NetFS_ExTitleTextReply
NetFS_Ex                        *       @

                                ^       0
NetFS_Cat_request               #       NetFS_CatRequest
                                ^       0
NetFS_Cat_reply                 #       NetFS_CatReply
NetFS_Cat                       *       @

                                ^       0
NetFS_Open_request              #       NetFS_OpenRequest
                                ^       0
NetFS_Open_reply                #       NetFS_OpenReply
NetFS_Open                      *       @

                                ^       0
NetFS_Close_request             #       NetFS_CloseRequest
NetFS_Close                     *       @

                                ^       0
NetFS_BGet_request              #       NetFS_BGetRequest
                                ^       0
NetFS_BGet_reply                #       NetFS_BGetReply
NetFS_BGet                      *       @

                                ^       0
NetFS_BPut_request              #       NetFS_BPutRequest
NetFS_BPut                      *       @

                                ^       0
NetFS_GBPB_request              #       NetFS_GBPBRequest
                                ^       0
NetFS_GBPB_reply                #       NetFS_GBPBReply
NetFS_GBPB                      *       @

                                ^       0
NetFS_ReadArgs_request          #       NetFS_ReadArgsRequest
                                ^       0
NetFS_ReadArgs_reply            #       NetFS_ReadArgsReply
NetFS_ReadArgs                  *       @

                                ^       0
NetFS_SetArgs_request           #       NetFS_SetArgsRequest
NetFS_SetArgs                   *       @

                                ^       0
NetFS_ReadDiscInfo_request      #       NetFS_ReadDiscInfoRequest
                                ^       0
NetFS_ReadDiscInfo_reply        #       NetFS_ReadDiscInfoReply
NetFS_ReadDiscInfo              *       @

                                ^       0
NetFS_ReadLogonInfo_request     #       NetFS_ReadLogonInfoRequest
                                ^       0
NetFS_ReadLogonInfo_reply       #       NetFS_ReadLogonInfoReply
NetFS_ReadLogonInfo             *       @

                                ^       0
NetFS_ReadDateAndTime_reply     #       NetFS_ReadDateAndTimeReply
NetFS_ReadDateAndTime           *       @

                                ^       0
NetFS_ReadEOFStatus_request     #       NetFS_ReadEOFStatusRequest
                                ^       0
NetFS_ReadEOFStatus_reply       #       NetFS_ReadEOFStatusReply
NetFS_ReadEOFStatus             *       @

                                ^       0
NetFS_ReadObject_request        #       NetFS_ReadObjectRequest
                                ^       0
NetFS_ReadObject_stamp_reply    #       NetFS_ReadObjectStampReply
                                ^       0
NetFS_ReadObject_load_and_exec_addr_reply #       NetFS_ReadObjectLoadAndExecAddrReply
                                ^       0
NetFS_ReadObject_size_reply     #       NetFS_ReadObjectSizeReply
                                ^       0
NetFS_ReadObject_attr_reply     #       NetFS_ReadObjectAttrReply
                                ^       0
NetFS_ReadObject_all_info_reply #       NetFS_ReadObjectAllInfoReply
                                ^       0
NetFS_ReadObject_attr_and_cycle_no_reply #       NetFS_ReadObjectAttrAndCycleNoReply
                                ^       0
NetFS_ReadObject_sin_reply      #       NetFS_ReadObjectSINReply
NetFS_ReadObject                *       @

                                ^       0
NetFS_SetObject_load_exec_and_attr_request #       NetFS_SetObjectLoadExecAndAttrRequest
                                ^       0
NetFS_SetObject_load_addr_request #       NetFS_SetObjectLoadAddrRequest
                                ^       0
NetFS_SetObject_exec_addr_request #       NetFS_SetObjectExecAddrRequest
                                ^       0
NetFS_SetObject_attr_request    #       NetFS_SetObjectAttrRequest
                                ^       0
NetFS_SetObject_stamp_request   #       NetFS_SetObjectStampRequest
NetFS_SetObject                 *       @

                                ^       0
NetFS_DeleteObject_request      #       NetFS_DeleteObjectRequest
                                ^       0
NetFS_DeleteObject_reply        #       NetFS_DeleteObjectReply
NetFS_DeleteObject              *       @

                                ^       0
NetFS_ReadEnv_reply             #       NetFS_ReadEnvReply
NetFS_ReadEnv                   *       @

                                ^       0
NetFS_Opt_request               #       NetFS_OptRequest
NetFS_Opt                       *       @

                                ^       0
NetFS_ReadUserInfo_request      #       NetFS_ReadUserInfoRequest
                                ^       0
NetFS_ReadUserInfo_reply        #       NetFS_ReadUserInfoReply
NetFS_ReadUserInfo              *       @

                                ^       0
NetFS_ReadVersion_reply         #       NetFS_ReadVersionReply
NetFS_ReadVersion               *       @

                                ^       0
NetFS_ReadFree_request          #       NetFS_ReadFreeRequest
                                ^       0
NetFS_ReadFree_reply            #       NetFS_ReadFreeReply
NetFS_ReadFree                  *       @

                                ^       0
NetFS_CreateDir_request         #       NetFS_CreateDirRequest
NetFS_CreateDir                 *       @

                                ^       0
NetFS_SetDateAndTime_request    #       NetFS_SetDateAndTimeRequest
NetFS_SetDateAndTime            *       @

                                ^       0
NetFS_Create_request            #       NetFS_CreateRequest
                                ^       0
NetFS_Create_reply              #       NetFS_CreateReply
NetFS_Create                    *       @

                                ^       0
NetFS_ReadUserFree_request      #       NetFS_ReadUserFreeRequest
                                ^       0
NetFS_ReadUserFree_reply        #       NetFS_ReadUserFreeReply
NetFS_ReadUserFree              *       @

                                ^       0
NetFS_SetUserFree_request       #       NetFS_SetUserFreeRequest
NetFS_SetUserFree               *       @

                                ^       0
NetFS_ReadUserName_reply        #       NetFS_ReadUserNameReply
NetFS_ReadUserName              *       @

                                ^       0
NetFS_ReadLogonInfoExtended_request #       NetFS_ReadLogonInfoExtendedRequest
                                ^       0
NetFS_ReadLogonInfoExtended_reply #       NetFS_ReadLogonInfoExtendedReply
NetFS_ReadLogonInfoExtended     *       @

                                ^       0
NetFS_ReadUserInfoExtended_request #       NetFS_ReadUserInfoExtendedRequest
                                ^       0
NetFS_ReadUserInfoExtended_reply #       NetFS_ReadUserInfoExtendedReply
NetFS_ReadUserInfoExtended      *       @

                                ^       0
NetFS_ManagerOpReadPasswordCount_request #       NetFS_ManagerOpReadPasswordCountRequest
                                ^       0
NetFS_ManagerOpReadPasswordCount_reply #       NetFS_ManagerOpReadPasswordCountReply
NetFS_ManagerOpReadPasswordCount *       @

                                ^       0
NetFS_ManagerOpReadPassword_request #       NetFS_ManagerOpReadPasswordRequest
                                ^       0
NetFS_ManagerOpReadPassword_reply #       NetFS_ManagerOpReadPasswordReply
NetFS_ManagerOpReadPassword     *       @

                                ^       0
NetFS_ManagerOpWritePassword_request #       NetFS_ManagerOpWritePasswordRequest
NetFS_ManagerOpWritePassword    *       @

                                ^       0
NetFS_ManagerOpAddUser_request  #       NetFS_ManagerOpAddUserRequest
NetFS_ManagerOpAddUser          *       @

                                ^       0
NetFS_ManagerOpRemoveUser_request #       NetFS_ManagerOpRemoveUserRequest
NetFS_ManagerOpRemoveUser       *       @

                                ^       0
NetFS_ManagerOpSetPrivilege_request #       NetFS_ManagerOpSetPrivilegeRequest
NetFS_ManagerOpSetPrivilege     *       @

                                ^       0
NetFS_ManagerOpLogoffUser_request #       NetFS_ManagerOpLogoffUserRequest
NetFS_ManagerOpLogoffUser       *       @

                                ^       0
NetFS_Op_cli                    #       NetFS_CLI
                                ^       0
NetFS_Op_save                   #       NetFS_Save
                                ^       0
NetFS_Op_load                   #       NetFS_Load
                                ^       0
NetFS_Op_ex                     #       NetFS_Ex
                                ^       0
NetFS_Op_cat                    #       NetFS_Cat
                                ^       0
NetFS_Op_open                   #       NetFS_Open
                                ^       0
NetFS_Op_close                  #       NetFS_Close
                                ^       0
NetFS_Op_bget                   #       NetFS_BGet
                                ^       0
NetFS_Op_bput                   #       NetFS_BPut
                                ^       0
NetFS_Op_gbpb                   #       NetFS_GBPB
                                ^       0
NetFS_Op_read_args              #       NetFS_ReadArgs
                                ^       0
NetFS_Op_set_args               #       NetFS_SetArgs
                                ^       0
NetFS_Op_read_disc_info         #       NetFS_ReadDiscInfo
                                ^       0
NetFS_Op_read_logon_info        #       NetFS_ReadLogonInfo
                                ^       0
NetFS_Op_read_date_and_time     #       NetFS_ReadDateAndTime
                                ^       0
NetFS_Op_read_eof_status        #       NetFS_ReadEOFStatus
                                ^       0
NetFS_Op_read_object            #       NetFS_ReadObject
                                ^       0
NetFS_Op_set_object             #       NetFS_SetObject
                                ^       0
NetFS_Op_delete_object          #       NetFS_DeleteObject
                                ^       0
NetFS_Op_read_env               #       NetFS_ReadEnv
                                ^       0
NetFS_Op_opt                    #       NetFS_Opt
                                ^       0
NetFS_Op_read_user_info         #       NetFS_ReadUserInfo
                                ^       0
NetFS_Op_read_version           #       NetFS_ReadVersion
                                ^       0
NetFS_Op_read_free              #       NetFS_ReadFree
                                ^       0
NetFS_Op_create_dir             #       NetFS_CreateDir
                                ^       0
NetFS_Op_set_date_and_time      #       NetFS_SetDateAndTime
                                ^       0
NetFS_Op_create                 #       NetFS_Create
                                ^       0
NetFS_Op_read_user_free         #       NetFS_ReadUserFree
                                ^       0
NetFS_Op_set_user_free          #       NetFS_SetUserFree
                                ^       0
NetFS_Op_read_user_name         #       NetFS_ReadUserName
                                ^       0
NetFS_Op_read_logon_info_extended #       NetFS_ReadLogonInfoExtended
                                ^       0
NetFS_Op_read_user_info_extended #       NetFS_ReadUserInfoExtended
                                ^       0
NetFS_Op_manager_op_read_password_count #       NetFS_ManagerOpReadPasswordCount
                                ^       0
NetFS_Op_manager_op_read_password #       NetFS_ManagerOpReadPassword
                                ^       0
NetFS_Op_manager_op_write_password #       NetFS_ManagerOpWritePassword
                                ^       0
NetFS_Op_manager_op_add_user    #       NetFS_ManagerOpAddUser
                                ^       0
NetFS_Op_manager_op_remove_user #       NetFS_ManagerOpRemoveUser
                                ^       0
NetFS_Op_manager_op_set_privilege #       NetFS_ManagerOpSetPrivilege
                                ^       0
NetFS_Op_manager_op_logoff_user #       NetFS_ManagerOpLogoffUser
NetFS_Op                        *       @

                                ^       0
NetFS_FileServer_station_no     #       Byte
NetFS_FileServer_net_no         #       Byte
NetFS_FileServer_drive          #       Byte
NetFS_FileServer_disc_name      #       16*Char
NetFS_FileServer_reserved       #       Byte
NetFS_FileServer                *       @

                                ^       0
                                #       5*Byte
NetFS_DateAndTime               *       @


                                ^       0
NetFS_FileServerContext_station_no #       Byte
NetFS_FileServerContext_net_no  #       Byte
NetFS_FileServerContext_reserved1 #       Byte
NetFS_FileServerContext_disc_name #       16*Char
NetFS_FileServerContext_reserved2 #       Byte
NetFS_FileServerContext_user_name #       22*Char
NetFS_FileServerContext_reserved3 #       Byte
NetFS_FileServerContext_reserved4 #       Byte
NetFS_FileServerContext         *       @


;Symbols for SWI's and SWI reason codes
XNetFS_ReadFSNumber             *       &60040
NetFS_ReadFSNumber              *       &40040
   ;Exit
   ;  R0 = station_no (Byte)
   ;  R1 = net_no (Byte)

XNetFS_SetFSNumber              *       &60041
NetFS_SetFSNumber               *       &40041
   ;Entry
   ;  R0 = station_no (Byte)
   ;  R1 = net_no (Byte)
   ;Exit
   ;  R0 corrupted
   ;  R1 corrupted

XNetFS_ReadFSName               *       &60042
NetFS_ReadFSName                *       &40042
   ;Entry
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;Exit
   ;  R0 corrupted
   ;  R1 -> end (Char)
   ;  R2 corrupted

XNetFS_SetFSName                *       &60043
NetFS_SetFSName                 *       &40043
   ;Entry
   ;  R0 -> fs_name (String)

XNetFS_ReadFSTimeouts           *       &60046
NetFS_ReadFSTimeouts            *       &40046
   ;Exit
   ;  R0 = transmit_count (Int)
   ;  R1 = transmit_delay (Int)
   ;  R2 = peek_count (Int)
   ;  R3 = peek_delay (Int)
   ;  R4 = receive_delay (Int)
   ;  R5 = broadcast_delay (Int)

XNetFS_SetFSTimeouts            *       &60047
NetFS_SetFSTimeouts             *       &40047
   ;Entry
   ;  R0 = transmit_count (Int)
   ;  R1 = transmit_delay (Int)
   ;  R2 = peek_count (Int)
   ;  R3 = peek_delay (Int)
   ;  R4 = receive_delay (Int)
   ;  R5 = broadcast_delay (Int)

XNetFS_DoFSOp                   *       &60048
NetFS_DoFSOp                    *       &40048
   ;Entry
   ;  R0 = fs_op (NetFS_FSOp)
   ;  R1 = op (pointer to NetFS_Op)
   ;  R2 = tx_count (Int)
   ;  R3 = size (Int)
   ;Exit
   ;  R0 = status (Int)
   ;  R3 = rx_count (Int)

XNetFS_EnumerateFSList          *       &60049
NetFS_EnumerateFSList           *       &40049
   ;Entry
   ;  R0 = context (Int)
   ;  R1 = file_server (pointer to NetFS_FileServer)
   ;  R2 = size (Int)
   ;  R3 = server_limit (Int)
   ;Exit
   ;  R0 = context_out (Int)
   ;  R3 = server_count (Int)

XNetFS_EnumerateFS              *       &6004A
NetFS_EnumerateFS               *       &4004A
   ;Entry
   ;  R0 = context (Int)
   ;  R1 = file_server (pointer to NetFS_FileServer)
   ;  R2 = size (Int)
   ;  R3 = server_limit (Int)
   ;Exit
   ;  R0 = context_out (Int)
   ;  R3 = server_count (Int)

XNetFS_ConvertDate              *       &6004B
NetFS_ConvertDate               *       &4004B
   ;Entry
   ;  R0 -> n (NetFS_DateAndTime)
   ;  R1 = o (pointer to OS_DateAndTime)

XNetFS_DoFSOpToGivenFS          *       &6004C
NetFS_DoFSOpToGivenFS           *       &4004C
   ;Entry
   ;  R0 = fs_op (NetFS_FSOp)
   ;  R1 = op (pointer to NetFS_Op)
   ;  R2 = tx_count (Int)
   ;  R3 = size (Int)
   ;  R4 = station (Byte)
   ;  R5 = net (Byte)
   ;Exit
   ;  R0 = status (Int)
   ;  R3 = rx_count (Int)

XNetFS_UpdateFSList             *       &6004D
NetFS_UpdateFSList              *       &4004D
   ;Entry
   ;  R0 = station_no (Byte)
   ;  R1 = net_no (Byte)
   ;Exit
   ;  R0 corrupted
   ;  R1 corrupted

XNetFS_EnumerateFSContexts      *       &6004E
NetFS_EnumerateFSContexts       *       &4004E
   ;Entry
   ;  R0 = context (Int)
   ;  R1 = file_server_context (pointer to NetFS_FileServerContext)
   ;  R2 = size (Int)
   ;  R3 = server_limit (Int)
   ;Exit
   ;  R0 = context_out (Int)
   ;  R2 corrupted
   ;  R3 = server_count (Int)

XNetFS_ReadUserId               *       &6004F
NetFS_ReadUserId                *       &4004F
   ;Entry
   ;  R1 = buffer (pointer to String)
   ;  R2 = size (Int)
   ;Exit
   ;  R0 corrupted
   ;  R1 -> end (Char)
   ;  R2 corrupted

XNetFS_GetObjectUID             *       &60050
NetFS_GetObjectUID              *       &40050
   ;Entry
   ;  R1 -> path_name (String)
   ;  R6 -> special (String)
   ;Exit
   ;  R0 = obj_type (FileSwitch_ObjectType)
   ;  R2 = load_addr (Bits)
   ;  R3 = exec_addr (Bits)
   ;  R4 = size (Int)
   ;  R5 = attr (FileSwitch_Attr)
   ;  R6 = uid0 (Int)
   ;  R7 = uid1 (Int)

XNetFS_EnableCache              *       &60051
NetFS_EnableCache               *       &40051

Service_NetFS                   *       &55
   ;Entry
   ;  R1 = &55

Service_NetFSDying              *       &5F
   ;Entry
   ;  R1 = &5F

        ]
        END
